Problem
【HAOI2015】树上操作
Description
有一棵点数为  的树,以点  为根,且树点有边权。然后有  个
操作,分为三种:
操作  :把某个节点  的点权增加  。
操作  :把某个节点  为根的子树中所有点的点权都增加  。
操作  :询问某个节点  到根的路径中所有点的点权和。
Input
第一行包含两个整数 。表示点数和操作数。接下来一行 个整数,表示树中节点的初始权值。接下来 行每行三个正整数 , 表示该树中存在一条边 。再接下来 行,每行分别表示一次操作。其中第一个数表示该操作的种类 ,之后接这个操作的参数 。
Output
Sample Input
| 1 | 5 5 | 
Sample Output
| 1 | 6 | 
HINT
对于 的数据, ,且所有输入数据的绝对值都不会超过 。
标签:树链剖分
Solution
这是一道序的裸题。可以序树状数组区间修改单点查询(差分)搞定。
但为了写板我码了个树剖。反正是裸题。
不多说。
Code
| 1 | 
 |